<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
    <script>
        var data = [{
            id: 1,
            name: '家电',
            goods: [{
                id: 11,
                gname: '冰箱',
                goods: [{
                    id: 111,
                    gname: '海尔'
                }, {
                    id: 112,
                    gname: '美的'
                },]
            }, {
                id: 12,
                gname: '洗衣机'
            }]
        }, {
            id: 2,
            name: '服饰'
        }];
        // 我们想要做输入id号,就可以返回的数据对象
        // 1.利用 forEach 去遍历里面的每一个对象
        function getId(json, id) {
            var o = {};
            json.forEach(function (item) {
                if (item.id == id) {
                    // console.log(item);
                    o = item;
                    // 2.我们想要得到里层的数据 11，12 可以利用递归函数
                    // 里面应该有goods这个数组，并且长度不为0
                } else if (item.goods && item.goods.length > 0) {
                    o = getId(item.goods, id);
                }
            })
            return o;
        }
        // getId(data, 1);
        // getId(data, 2);
        // getId(data, 11);
        console.log(getId(data, 1));
        console.log(getId(data, 2));
        console.log(getId(data, 11));
        console.log(getId(data, 12));
        console.log(getId(data, 111));
    </script>
</body>

</html>